[INFO] cloning repository https://github.com/KaarelKurik/manual-wormhole
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KaarelKurik/manual-wormhole" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaarelKurik%2Fmanual-wormhole", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaarelKurik%2Fmanual-wormhole'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c83b1eb2590941140a63745a248a4e5401d91a19
[INFO] checking KaarelKurik/manual-wormhole against 40527f3e444fde1deb361751bdef9b9e11d1b971+rustflags=--cfg crater_hack --force-warn invalid-c-variadic-arguments for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaarelKurik%2Fmanual-wormhole" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KaarelKurik/manual-wormhole
[INFO] finished tweaking git repo https://github.com/KaarelKurik/manual-wormhole
[INFO] tweaked toml for git repo https://github.com/KaarelKurik/manual-wormhole written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KaarelKurik/manual-wormhole on toolchain 40527f3e444fde1deb361751bdef9b9e11d1b971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KaarelKurik/manual-wormhole already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `manual_wormhole` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-5-tc2/source/target/.../manual_wormhole
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 - name = "manual_wormhole"
[INFO] [stderr] 10 + name = "manual-wormhole"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 ~ version = "0.1.0"
[INFO] [stderr] 12 + [[bin]]
[INFO] [stderr] 13 + name = "manual-wormhole"
[INFO] [stderr] 14 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `manual_wormhole` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking KaarelKurik/manual-wormhole against 40527f3e444fde1deb361751bdef9b9e11d1b971+rustflags=--cfg crater_hack --force-warn invalid-c-variadic-arguments for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaarelKurik%2Fmanual-wormhole" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KaarelKurik/manual-wormhole
[INFO] finished tweaking git repo https://github.com/KaarelKurik/manual-wormhole
[INFO] tweaked toml for git repo https://github.com/KaarelKurik/manual-wormhole written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KaarelKurik/manual-wormhole on toolchain 40527f3e444fde1deb361751bdef9b9e11d1b971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KaarelKurik/manual-wormhole already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `manual_wormhole` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-5-tc2/source/target/.../manual_wormhole
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 - name = "manual_wormhole"
[INFO] [stderr] 10 + name = "manual-wormhole"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 ~ version = "0.1.0"
[INFO] [stderr] 12 + [[bin]]
[INFO] [stderr] 13 + name = "manual-wormhole"
[INFO] [stderr] 14 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `manual_wormhole` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.123
[INFO] [stderr]   Downloaded sprs v0.7.1
[INFO] [stderr]   Downloaded glam v0.31.1
[INFO] [stderr]   Downloaded stl_io v0.7.0
[INFO] [stderr]   Downloaded nalgebra v0.34.2
[INFO] [stderr]   Downloaded glam v0.32.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.123
[INFO] [stderr]   Downloaded minilp v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9
[INFO] running `Command { std: "docker" "start" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9" "/opt/rustwide/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid --cfg crater_hack --force-warn invalid-c-variadic-arguments" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9" "/opt/rustwide/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `manual_wormhole` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../manual_wormhole
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 - name = "manual_wormhole"
[INFO] [stderr] 10 + name = "manual-wormhole"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `manual-wormhole`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 ~ version = "0.1.0"
[INFO] [stderr] 12 + [[bin]]
[INFO] [stderr] 13 + name = "manual-wormhole"
[INFO] [stderr] 14 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `manual_wormhole` (manifest) generated 1 warning
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling built v0.8.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ndarray v0.13.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking matrixmultiply v0.2.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking imgref v1.12.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking avif-serialize v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking fax v0.2.7
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking no_std_io2 v0.9.4
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking stl_io v0.7.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking simba v0.9.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking sprs v0.7.1
[INFO] [stderr]     Checking minilp v0.2.2
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling nalgebra-macros v0.3.0
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking nalgebra v0.34.2
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking manual_wormhole v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]  --> src/deadsimple.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Matrix3, Matrix3x2, Matrix4, UniformNorm, Vector2, Vector3, Vector4, vector};
[INFO] [stdout]   |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::Ordering`
[INFO] [stdout]  --> src/deadsimple.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{array, cmp::Ordering, collections::HashMap, fs::File, ops::Index, path::Path, usize};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/deadsimple.rs:7:89
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{array, cmp::Ordering, collections::HashMap, fs::File, ops::Index, path::Path, usize};
[INFO] [stdout]   |                                                                                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:435:39
[INFO] [stdout]     |
[INFO] [stdout] 435 |     let t = problem.add_var(1., (f64::NEG_INFINITY, f64::INFINITY));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:435:58
[INFO] [stdout]     |
[INFO] [stdout] 435 |     let t = problem.add_var(1., (f64::NEG_INFINITY, f64::INFINITY));
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/deadsimple.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 |     let mut first_exit = usize::MAX;
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::MAX`: replaced by the `MAX` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:631:31
[INFO] [stdout]     |
[INFO] [stdout] 631 |     let mut min_lambda = f64::MAX;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:846:20
[INFO] [stdout]     |
[INFO] [stdout] 846 |     if det > -f64::EPSILON && det < f64::EPSILON {
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:846:42
[INFO] [stdout]     |
[INFO] [stdout] 846 |     if det > -f64::EPSILON && det < f64::EPSILON {
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:865:17
[INFO] [stdout]     |
[INFO] [stdout] 865 |     if t > f64::EPSILON {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]  --> src/deadsimple.rs:3:70
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Matrix3, Matrix3x2, Matrix4, UniformNorm, Vector2, Vector3, Vector4, vector};
[INFO] [stdout]   |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::Ordering`
[INFO] [stdout]  --> src/deadsimple.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{array, cmp::Ordering, collections::HashMap, fs::File, ops::Index, path::Path, usize};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/deadsimple.rs:7:89
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{array, cmp::Ordering, collections::HashMap, fs::File, ops::Index, path::Path, usize};
[INFO] [stdout]   |                                                                                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:435:39
[INFO] [stdout]     |
[INFO] [stdout] 435 |     let t = problem.add_var(1., (f64::NEG_INFINITY, f64::INFINITY));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:435:58
[INFO] [stdout]     |
[INFO] [stdout] 435 |     let t = problem.add_var(1., (f64::NEG_INFINITY, f64::INFINITY));
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/deadsimple.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 |     let mut first_exit = usize::MAX;
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::MAX`: replaced by the `MAX` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:631:31
[INFO] [stdout]     |
[INFO] [stdout] 631 |     let mut min_lambda = f64::MAX;
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:846:20
[INFO] [stdout]     |
[INFO] [stdout] 846 |     if det > -f64::EPSILON && det < f64::EPSILON {
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:846:42
[INFO] [stdout]     |
[INFO] [stdout] 846 |     if det > -f64::EPSILON && det < f64::EPSILON {
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]    --> src/deadsimple.rs:865:17
[INFO] [stdout]     |
[INFO] [stdout] 865 |     if t > f64::EPSILON {
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/deadsimple.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use image::{GenericImageView, ImageError, Rgba, RgbaImage};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/linalg/vector.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn cross(&self, other: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn next_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn prev_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn edge(&self, half_edge_path: Path) -> &HalfEdge {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triangle_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:52:24
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn triangle(&self, triangle_path: Path) -> &Triangle {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triangle_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:112:34
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:34
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:53
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/deadsimple.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use image::{GenericImageView, ImageError, Rgba, RgbaImage};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/linalg/vector.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn cross(&self, other: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PullbackTangent` is never constructed
[INFO] [stdout]   --> src/linalg/vector.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PullbackTangent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cross` and `dot` are never used
[INFO] [stdout]   --> src/linalg/vector.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl FreeTangent {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 42 |     fn cross(&self, other: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn dot(&self, other: &FreeTangent) -> f64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `three_det` is never used
[INFO] [stdout]   --> src/linalg/vector.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn three_det(a: &FreeTangent, b: &FreeTangent, c: &FreeTangent) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `express_in_basis` is never used
[INFO] [stdout]   --> src/linalg/vector.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn express_in_basis(basis: [&FreeTangent; 3], x: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Jet` is never constructed
[INFO] [stdout]   --> src/linalg/vector.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct Jet {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `in_dim` and `out_dim` are never used
[INFO] [stdout]   --> src/linalg/vector.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Jet {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 89 |     pub fn in_dim(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn out_dim(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpaceLog` is never constructed
[INFO] [stdout]  --> src/spaces/space.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct SpaceLog {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_space` is never used
[INFO] [stdout]   --> src/spaces/space.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SpaceLog {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 12 |     fn new_space(&mut self, ndim: usize) -> Space {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PathComponent` is never used
[INFO] [stdout]  --> src/mesh/triangle.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum PathComponent {
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Path` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Path {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parent` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Path {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 22 |     fn parent(&self) -> Path {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HalfEdge` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct HalfEdge {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mesh` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Mesh {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct Context {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_edge`, `prev_edge`, `edge`, and `triangle` are never used
[INFO] [stdout]   --> src/mesh/triangle.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Context {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 43 |     fn next_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn prev_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn edge(&self, half_edge_path: Path) -> &HalfEdge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn triangle(&self, triangle_path: Path) -> &Triangle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangle` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Triangle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HalfThroat` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct HalfThroat {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ambient` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Ambient {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TriangleEdge` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum TriangleEdge {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_barycentric` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn clamp_barycentric(pb_2: &Point) -> Point {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barycentric_hysteresis` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn barycentric_hysteresis(face: &Triangle, bary_index: usize, pb_2: &Point) -> Point {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vertex_normals` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normal_by_bary` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_basis` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_bary_transition` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn local_bary_transition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HalfThroat` is never constructed
[INFO] [stdout]   --> src/deadsimple.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | enum Location {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] 60 |     HalfThroat {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Location` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ht1` and `ht2` are never read
[INFO] [stdout]    --> src/deadsimple.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct Throat {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 106 |     ht1: HalfThroatIndex,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 107 |     ht2: HalfThroatIndex,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Throat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_mesh` is never used
[INFO] [stdout]    --> src/deadsimple.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Environment {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn add_mesh(&mut self, m: Mesh) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn next_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn prev_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Right` is never constructed
[INFO] [stdout]    --> src/deadsimple.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 694 | enum BarySides {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] 695 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]  --> src/fancy.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Environment {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Region` is never used
[INFO] [stdout]  --> src/fancy.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Region {}
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MoveRay` is never used
[INFO] [stdout]  --> src/fancy.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait MoveRay {
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn edge(&self, half_edge_path: Path) -> &HalfEdge {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `triangle_path`
[INFO] [stdout]   --> src/mesh/triangle.rs:52:24
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn triangle(&self, triangle_path: Path) -> &Triangle {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_triangle_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:112:34
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:34
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/mesh/triangle.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_edge_path`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_edge_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/mesh/triangle.rs:123:53
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |                                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PullbackTangent` is never constructed
[INFO] [stdout]   --> src/linalg/vector.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PullbackTangent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cross` and `dot` are never used
[INFO] [stdout]   --> src/linalg/vector.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl FreeTangent {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 42 |     fn cross(&self, other: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn dot(&self, other: &FreeTangent) -> f64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `three_det` is never used
[INFO] [stdout]   --> src/linalg/vector.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn three_det(a: &FreeTangent, b: &FreeTangent, c: &FreeTangent) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `express_in_basis` is never used
[INFO] [stdout]   --> src/linalg/vector.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn express_in_basis(basis: [&FreeTangent; 3], x: &FreeTangent) -> FreeTangent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Jet` is never constructed
[INFO] [stdout]   --> src/linalg/vector.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct Jet {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `in_dim` and `out_dim` are never used
[INFO] [stdout]   --> src/linalg/vector.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl Jet {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 89 |     pub fn in_dim(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn out_dim(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpaceLog` is never constructed
[INFO] [stdout]  --> src/spaces/space.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct SpaceLog {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_space` is never used
[INFO] [stdout]   --> src/spaces/space.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SpaceLog {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 12 |     fn new_space(&mut self, ndim: usize) -> Space {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PathComponent` is never used
[INFO] [stdout]  --> src/mesh/triangle.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum PathComponent {
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Path` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Path {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parent` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Path {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 22 |     fn parent(&self) -> Path {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HalfEdge` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct HalfEdge {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mesh` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Mesh {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct Context {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_edge`, `prev_edge`, `edge`, and `triangle` are never used
[INFO] [stdout]   --> src/mesh/triangle.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Context {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 43 |     fn next_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn prev_edge(&self, half_edge_path: Path) -> Path {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn edge(&self, half_edge_path: Path) -> &HalfEdge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn triangle(&self, triangle_path: Path) -> &Triangle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangle` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Triangle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HalfThroat` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct HalfThroat {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ambient` is never constructed
[INFO] [stdout]   --> src/mesh/triangle.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Ambient {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TriangleEdge` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum TriangleEdge {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_barycentric` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn clamp_barycentric(pb_2: &Point) -> Point {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `barycentric_hysteresis` is never used
[INFO] [stdout]   --> src/mesh/triangle.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn barycentric_hysteresis(face: &Triangle, bary_index: usize, pb_2: &Point) -> Point {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vertex_normals` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:112:4
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn vertex_normals(ctx: &Context, half_edge_path: Path) -> [FreeTangent; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normal_by_bary` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn normal_by_bary(ctx: &Context, half_edge_path: Path, p: &Point) -> FreeTangent {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_basis` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn local_basis(ctx: &Context, half_edge_path: Path, p: &Point) -> [FreeTangent; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_bary_transition` is never used
[INFO] [stdout]    --> src/mesh/triangle.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn local_bary_transition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HalfThroat` is never constructed
[INFO] [stdout]   --> src/deadsimple.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | enum Location {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] 60 |     HalfThroat {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Location` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ht1` and `ht2` are never read
[INFO] [stdout]    --> src/deadsimple.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct Throat {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 106 |     ht1: HalfThroatIndex,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 107 |     ht2: HalfThroatIndex,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Throat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_mesh` is never used
[INFO] [stdout]    --> src/deadsimple.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Environment {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn add_mesh(&mut self, m: Mesh) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Right` is never constructed
[INFO] [stdout]    --> src/deadsimple.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 694 | enum BarySides {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] 695 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]  --> src/fancy.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Environment {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Region` is never used
[INFO] [stdout]  --> src/fancy.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Region {}
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MoveRay` is never used
[INFO] [stdout]  --> src/fancy.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait MoveRay {
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.80s
[INFO] running `Command { std: "docker" "inspect" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9", kill_on_drop: false }`
[INFO] [stdout] 6314b94be67a977319a5997ec5a8b3fc8fdf1a9f548a7037262f98ee0573cab9
